package com.demo.java.OD351_400.OD359;

import java.util.Scanner;

/**
 * @author bug菌
 * @Source 公众号：猿圈奇妙屋
 * @des： 【划分字符串(B卷)】问题
 * @url： https://blog.csdn.net/weixin_43970743/article/details/146165585
 */
public class OdMain {
    public static void main(String[] args) {
        // 初始化Scanner用于读取输入
        Scanner sc = new Scanner(System.in);
        String str = sc.nextLine();  // 读取输入的字符串

        // 结果数组，记录分割点
        int[] res = new int[]{0, 0};
        int[] nums = new int[str.length()];  // 存储每个字符的ASCII值
        int sum = 0;  // 存储字符串中所有字符的ASCII值之和

        // 计算每个字符的ASCII值，并计算总和
        for (int i = 0; i < str.length(); i++) {
            nums[i] = str.charAt(i);  // 获取字符的ASCII值
            sum += nums[i];  // 累加字符的ASCII值
        }

        // 初始化指针
        int i = 0, j = nums.length - 1;
        int left = 0, right = 0;

        // 使用双指针遍历字符串
        while (i < j) {
            if (left < right) {
                left += nums[i++];  // 如果左边和小，增加左边的值
            } else if (left > right) {
                right += nums[j--];  // 如果右边和小，增加右边的值
            } else {
                // 如果当前左右和相等，计算中间部分
                int mid = sum - left - right - nums[i] - nums[j];
                if (mid == left) {
                    res[0] = i;
                    res[1] = j;
                }
                if (mid <= left) {
                    break;
                }
                right += nums[j--];  // 向右移动
            }
        }

        // 输出分割点
        System.out.println(res[0] + "," + res[1]);
    }
}